Моделювання послідовного інтерфейсу RS-232C.

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Електронні обчислювальні машини

Інформація про роботу

Рік:
2005
Тип роботи:
Лабораторна робота
Предмет:
Периферійні пристрої
Група:
КІ-4

Частина тексту файла

Міністерство освіти та науки України Національний університет “Львівська політехніка” Кафедра ЕОМ Лабораторна робота №3 з предмету “ Периферійні пристрої ” Моделювання послідовного інтерфейсу RS-232C Виконала: ст. гр. КІ – 4 Львів – 2005 Для засвоєння принципу роботи послідовного інтерфейсу RS-232C було запропоновано написати програмну емуляцію цього інтерфейсу. Програма має в графічному режимі відобразити процес передачі даних. Для написання програми було використано середовище розробки Microsoft Visual Studio 6.0 (C++). Для того щоб забезпечити передавання даних необхідні наступні модулі: Передавач даних (виділений в клас CTransmitter) Приймач даних (Виділений в клас CReceiver) Середовище передавання даних, або лінія зв’язку (CLine) Генератор тактових імпульсів для передавача та приймача (CGenerator) Алгоритм передачі даних буде повністю описаний в третій лабораторній роботі. Розглянемо, що являє собою клас CLine – лінія передачі даних (всі інші класи були розглянуті в попередніх лабораторних роботах). class CLine { public: CLine(); virtual ~CLine(); void Write(int s) {signal=s;} int Read() const {return signal;} private: int signal; }; Змінна signal – поточне значення сигналу в лінії. Метод Write використовується для запису, Read – для читання. void CJCOMbetaDlg::OnbExec() { UpdateData(TRUE); int Delay=atoi(m_valDelay); int TxFreq=100; int RxFreq=100+m_Slider.GetPos();//[+/-]10% int ArrSize=((TxFreq>RxFreq)?TxFreq:RxFreq)*8*12+2*Delay; //=========DRAWING CUIntArray TxCLK; TxCLK.SetSize(ArrSize,1); CUIntArray RxCLK; RxCLK.SetSize(ArrSize,1); CUIntArray LineData; LineData.SetSize(ArrSize,1); CUIntArray Received; Received.SetSize(ArrSize,1); //====END==DRAWING CString Data=(m_SendData); Data="10"+Data+"11"; CLine *TheLine= new CLine; CTransmitter *Transmitter=new CTransmitter(TxFreq,Data,TheLine,Delay); CReceiver *Receiver=new CReceiver(RxFreq,TheLine,Delay); int i=0; for (int j=0;j<ArrSize;j++) { Transmitter->Proceed(); Receiver->Proceed(); //FOR DRAWING: TxCLK[i]=(Transmitter->GetCLK()); LineData[i]=(TheLine->Read()); RxCLK[i]=(Receiver->GetCLK()); Received[i++]=(Receiver->DEBUG_GET()); } //------------------------------ DrawVertex(&TxCLK); CClientDC dc(this); TextOut(dc,0,0,"TxCLK",5); TextOut(dc,0,30,"Tx(Line)",8); TextOut(dc,0,60,"RxCLK",5); TextOut(dc,0,90,"Rx",2); Draw(30,&TxCLK,TxFreq*12*8,0x0000FF); Draw(60,&LineData,TxFreq*12*8,0x0000FF); Draw(90,&RxCLK,RxFreq*12*8,0xFF0000); Draw(120,&Received,RxFreq*12*8,0xFF0000); TxCLK.RemoveAll(); RxCLK.RemoveAll(); LineData.RemoveAll(); Received.RemoveAll(); delete(TheLine);delete(Receiver);delete(Transmitter); m_bExec.EnableWindow(FALSE); m_bExec.SetWindowText("Sent :))))))))"); UpdateData(FALSE); }  Висновок: у ході виконання лабораторної роботи ми створили програму, яка графічно відображає процес передачі даних згідно інтерфейсу RS-232C.
Антиботан аватар за замовчуванням

01.01.1970 03:01

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини